import os
import time

# 1. 需要备份的文件与目录将被
# 指定在一个列表中。
# 例如在 Windows 下：
# source = ['"C:\\My Documents"', 'C:\\Code']
# 又例如在 Mac OS X 与 Linux 下：
# source = ['/Users/swa/notes']
source = ['"D:\\wwwroot\\114"']
extension_name = '.zip'
extension_name_7z = '.7z'

# 2.备份文件必须存储在另外一个朱备份目录中
# 例如在 windows 下
# target_dir = 'E:\\Backup'
# 又如在Mac OS X 和 Linux
# target_dir = '/User/swa/backup'
target_dir = 'D:\\Backup'

# 如果目标目录不存在则创建目录
if not os.path.exists(target_dir):
    os.mkdir(target_dir)  # 创建目录

# 3. 备份文件将打包压缩成 7z 文件。
# 4. 将当前日期作为主备份目录下的子目录名称
today = target_dir + os.sep + time.strftime('%Y%m%d')
# 将当前时间作为 7z 文件的文件名
now = time.strftime('%H%M%S')

# 文件名城格式
target = today + os.sep + now + extension_name_7z

# 如果子目录上不存在则创建一个
if not os.path.exists(today):
    os.mkdir(today)
    print('成功创建目录', today)

# 5. 我们使用7z命令将文件打包成 7z 格式
seven_z_command = '7z a {} {}'.format(target, ' '.join(source))

# 运行备份
print('7z 命令是：')
print(seven_z_command)
print('运行：')
if os.system(seven_z_command) == 0:
    print('成功备份为', target)
else:
    print('备份失败')
